package ch.sfug.player{

	

	import ch.sfug.player.ITrack;
	import flash.net.URLRequest;





	public dynamic class Track implements ITrack {
		//{ ATTRIBUTES
		
		private var _number:int;
		private var _title:String;
		private var _length:Number;
		private var _comment:String;
		private var _image:URLRequest;
		private var _location:URLRequest;

		
		//}

		//{ GETTER-SETTER
		

		public function get number():int{ return this._number; }
 		/** @private */
		public function set number(newValue:int):void{
			this._number = newValue;
		}

		public function get title():String{ return this._title; }
 		/** @private */
		public function set title(newValue:String):void{
			this._title = newValue;
		}

		public function get length():Number{ return this._length; }
 		/** @private */
		public function set length(newValue:Number):void{
			this._length = newValue;
		}

		public function get comment():String{ return this._comment; }
 		/** @private */
		public function set comment(newValue:String):void{
			this._comment = newValue;
		}

		public function get image():URLRequest{ return this._image; }
 		/** @private */
		public function set image(newValue:URLRequest):void{
			this._image = newValue;
		}
		/**
		* url to the track
		*/
		public function get location():URLRequest{ return this._location; }
 		/** @private */
		public function set location(newValue:URLRequest):void{
			this._location = newValue;
		}
		//}


		//{ INIT
		public function Track(url:URLRequest) {
			_location = url;
		}

		//}

		//{ METHODS
		
		
		/**
		* gets specific info for an track
		* @return	info object
		* @param	id	info id
		*/
		public function getTrackInfo(id:String):Object{
			return this[id];
		}
		/**
		* sets a specific info for an object
		* @param	id	info id
		* @param	obj	info object
		*/
		public function setTrackInfo(id:String,obj:Object):void{
			this[id] = obj;
		}
		//}

		//{ PRIVATE METHODS
		//}



	}

}

